﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DAO;
using Entidades;
namespace ProyectoCine.AreaPrivada
{
    public partial class AltaCine : System.Web.UI.Page,IGrilla
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!Page.IsPostBack)
            {                
                ddlSalas.DataSource = SalaDAO.cargarDropSala();
                ddlSalas.DataValueField = "numero_Sala";
                ddlSalas.DataTextField = "nombre";
                ddlSalas.DataBind();
                ddlSalas.Items.Insert(0, new ListItem("Seleccionar Sala"));

            

                if (Session["id_CineEdicion"] != null)
                {
                    Panel2.Visible = false;
                    Cine c = CineDAO.BuscarPorId((int)Session["id_CineEdicion"]);
                    lblIdCine.Text = c.NumeroCine.ToString();
                    txtNombreCine.Text = c.Nombre;
                    txtDireccionCine.Text = c.Direccion;
                    txtNumDirCine.Text = c.NumDireccion.ToString();
                    txtBarrioCine.Text = c.Barrio;
                    txtTelCine.Text = c.Telefono.ToString();
                    Panel1.GroupingText = "Modificar Cine";
                }           
            }                        
        }

        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            if (Session["id_CineEdicion"] != null)
            {
                Cine cine = new Cine();
                cine.NumeroCine = int.Parse(lblIdCine.Text);
                cine.Nombre = txtNombreCine.Text;
                cine.Direccion = txtDireccionCine.Text;
                cine.NumDireccion = int.Parse(txtNumDirCine.Text);
                cine.Barrio = txtBarrioCine.Text;
                cine.Telefono = int.Parse(txtTelCine.Text);
                try
                {
                    CineDAO.update(cine);
                    Response.Redirect("Cines.aspx");
                }
                catch (ApplicationException ae)
                {
                    lblError.Text = ae.Message;
                }             
            }
            else
            {
                Cine cine = new Cine();
                cine.Nombre = txtNombreCine.Text;
                cine.Direccion = txtDireccionCine.Text;
                cine.NumDireccion = int.Parse(txtNumDirCine.Text);
                cine.Barrio = txtBarrioCine.Text;
                cine.Telefono = int.Parse(txtTelCine.Text); 
                try
                {
                    CineDAO.Insertar(cine, Salas);
                    Response.Redirect("Cines.aspx");
                }
                catch (ApplicationException ae)
                {
                    lblError.Text = ae.Message;
                }
            }           
        }
        
        protected void btnBorrar_Click(object sender, EventArgs e)
        {
            if (Session["id_CineEdicion"] != null)
            {
                int id = (int)Session["id_CineEdicion"];
                try
                {
                    CineDAO.DarBaja(id);
                    Session["id_CineEdicion"] = null;
                    Response.Redirect("Cines.aspx");
                }
                catch (ApplicationException ae)
                {
                    lblError.Text = ae.Message;
                }
            }
        }       

        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            Session["id_CineEdicion"] = null;
            Response.Redirect("Cines.aspx");
        }
         

        public List<CinePorSala> Salas
        {         
            get
            {
                if (Session["SalaCine"] != null)
                    return (List<CinePorSala>) Session["SalaCine"];
                else
                    return null;
            }
            set { Session["SalaCine"] = value; }
        }        

       


        protected void ddlSalas_SelectedIndexChanged(object sender, EventArgs e)
        {            
                     
        }

        protected void btnIngresarSala_Click(object sender, EventArgs e)
        {
            cargarGrilla();
            lblSalasSel.Visible = true;
            txtCapacidad.Text = "";
        }



        public void cargarGrilla()
        {
            if (Salas == null)
                Salas = new List<CinePorSala>();
            Salas.Add(new CinePorSala() { Numero_Sala = int.Parse(ddlSalas.SelectedValue), Nombre_Sala = ddlSalas.SelectedItem.Text, Capacidad = int.Parse(txtCapacidad.Text) });
            gvPrueba.DataSource = Salas;
            gvPrueba.DataBind();
        }

        protected void gvPrueba_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gvPrueba.PageIndex = e.NewPageIndex;
            cargarGrilla();
        }
    }   
     
    }
